home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EuroCD 3
/
EuroCD 3.iso
/
Programming
/
SecalDemo
/
Projects
/
Tutorials
/
x_MusicDemo.scl
< prev
next >
Wrap
Text File
|
1998-06-24
|
2KB
|
48 lines
/******************************************************************************\
** Music example (uses the Extension) for Secal **
** Requires Kickstart 2 **
\******************************************************************************/
go main; # EXECUTION STARTS AT THE BEGINNING OF THE
# PROGRAM, GO TO THE MAIN CODE
include "ext/ext.inc"; # COMPILE THE HEADER INTERFACE FOR EXTENSION TOO
inclib "ext/ext.lib"; # USE EXT.LIB AS A LINK LIBRARY
main: # MAIN ENTRY POINT
push d2\a2; # SAVE MODIFIED NONVOLATILE REGISTERS
x_Init; # INITIALIZE EXTENSION
if d0 then
x_AudioStart(%1111); # START AUDIO SUBSYSTEM
if d0 then
x_Mus_Load("data/mod.corn",%1111); a2:=a0;
# LOAD AND INIT MUSIC, STRORE PTR IN A2
if a2 then
x_Mus_Play(a2,0); # START PLAYING
while [$dff016] and $400 do x_Delay(1);;
# DIRTY CHECK FOR RIGHT MOUSE BUTTON
for d2.uw:=$fc00 downto 0 step 1024 do # VOLUME FADE LOOP
x_Delay(1); # LITTLE DELAY
x_Mus_Modify(a2,-1,d2); # MODIFY VOLUME ONLY
;
x_Mus_Stop(a2); # STOP PLAYING
;
;
x_Done; # SHUT DOWN EXTENSION. THIS FUNCTION WILL ALSO FREE
# EVERYTHING ALLOCATED THRU THE EXTENSION, WHICH WE
# DIDN'T FREE ALLREADY (SCREENS, MUSIC, ANIMS, ETC.)
;
d0.l:=0; # RETURN CODE FOR DOS
pop d2\a2; # RESTORE NONVOLATILE REGISTERS
rts; # RETURN